/**
 * 转换门店类
 * @param {Object} data 后台返回门店
 * @return 处理后门店对象
 */
export function toMkt(data = {}) {
  let lon = 0
  let lat = 0
  const memo = data.memo
  if (memo && memo.indexOf(',') > -1) {
    var memoSplit = memo.split(',') // 经度,纬度
    lon = parseFloat(memoSplit[0]) // 经度
    lat = parseFloat(memoSplit[1]) // 纬度
  }
  return {
    name: data.cname,
    code: data.code,
    address: data.addr == null ? '暂时没有门店具体地址' : data.addr,
    lon: lon,
    lat: lat
  }
}
/**
 * 转换卡券类
 * @param {Object} data 后台返回卡券
 * @return 处理后卡券对象
 */
export function toCoupon(data = {}) {
  const coupon = {}
  coupon.name = data.name // 券种名称
  coupon.couponMoney = data.redeemMoney // 券可兑换金额
  coupon.saleMoney = data.saleMoney // 售价|兑换积分
  coupon.couponRule = data.rule // 券适用规则
  coupon.couponValidS = data.startTime // 券有限期起始
  coupon.couponValidE = data.endTime // 券有限期结束
  coupon.saled = 100 - Number(data.saled) // 已售（百分比）
  coupon.scheduleId = data.scheduleId // 档期编码
  coupon.couponType = data.type // 券种类
  return coupon
}
/**
 * 转换我的卡券类
 * @param {Object} data 后台返回我的卡券
 * @return 处理后我的卡券对象
 */
export function toMyCoupon(data = {}) {
  const coupon = {}
  coupon.seqNo = data.seqNo // 序号
  coupon.cardno = data.cardNo // 卡号
  coupon.code = data.couponNo // 券号
  coupon.name = data.name // 券种名称
  coupon.couponMoney = data.redeemMoney ? data.redeemMoney : 0 // 可用券可兑换金额
  coupon.couponValidS = data.startDate // 券有限期起始
  coupon.couponValidE = data.endDate // 券有限期结束
  coupon.collectionDate = data.getTime // 券领取日期
  coupon.couponType = data.type // 券种类
  coupon.status = data.status // 券状态
  coupon.couponRule = data.couponRule
  coupon.uniqueNo = (data.seqNo ? data.seqNo : '') + data.couponNo + data.type // 唯一标识
  return coupon
}
/**
 * 转换买卡券请求参数
 * @param {Object} data 买卡券请求参数
 * @param {*} userInfo
 * @param {*} mkt
 * @return 处理后买卡券请求参数
 */
export function toPayCouponParams(data = {}, userInfo, mkt, out_trade_no) {
  const coupon = {}
  coupon.cardno = userInfo.cardno // 买券卡号
  coupon.mkt = mkt.code // 门店编号
  coupon.tkttpiid = data.scheduleId // 档期编码
  coupon.mqje = data.saleMoney // 购券金额
  coupon.memo = '购买券：' + data.name // 买券说明
  coupon.payno = out_trade_no // 支付订单编号
  coupon.tktqtype = data.couponType // 券种类
  coupon.tktgmsl = 1 // 购买数量
  return coupon
}
/**
 * 转换领取卡券请求参数
 * @param {*} data 领取卡券请求参数
 * @param {*} userInfo
 * @param {*} mkt
 * @return 处理后领取卡券请求参数
 */
export function toGetCouponParams(data = {}, userInfo, mkt) {
  const coupon = {}
  coupon.cardno = userInfo.cardno // 领取券卡号
  coupon.mkt = mkt.code // 门店编号
  coupon.tktdq = data.scheduleId // 活动档期
  coupon.tktqz = data.couponType // 券种
  coupon.tktlqsl = 1 // 券数量
  return coupon
}
/**
 * 转换兑换卡券请求参数
 * @param {Object} data 兑换卡券请求参数
 * @param {*} userInfo
 * @param {*} mkt
 * @return 处理后兑换卡券请求参数
 */
export function toRedeemCouponParams(data = {}, userInfo, mkt) {
  const coupon = {}
  coupon.cardno = userInfo.cardno // 兑换券卡号
  coupon.mkt = mkt.code // 门店编号
  coupon.tktqtype = 1 // 兑换类别1、积分兑换，2、积分+钱的方式兑换
  coupon.tkttpiid = data.scheduleId // 档期
  coupon.tktqz = data.couponType // 券种
  coupon.dhjf = data.saleMoney // 兑换积分
  coupon.dhje = 0 // 兑换电子券的总金额
  coupon.dhsl = 1 // 券兑换数量
  coupon.memo = '兑换券:' + data.name // 兑换说明，兑换实物券为兑换名称
  return coupon
}
/**
 * 转换微信用户信息
 * @param {Object} data 微信用户信息
 * @return 处理后微信用户信息
 */
export function toUserInfo(detail = {}) {
  // avatarUrl: "https://thirdwx.qlogo.cn/mmopen/vi_32/h1n1x4barOzKyKib6Bo9CFbY3kic2ALxxrnZ3RAQVfIjagwt5libbrm6YZRaxZFXWo4XT6gMBD87oWkMko4vwKwRg/132"
  // city: "武汉"
  // country: "中国"
  // gender: 1
  // language: "zh_CN"
  // nickName: "陈进松🔆"
  // province: "湖北"
  return detail.userInfo
}
/**
 * 转换登陆用户类
 * @param {Object} data 后台返回登陆用户信息
 * @return 处理后登陆用户信息
 */
export function toUser(data = {}) {
  const user = {}
  user.maxdate = data.rt_cdmmaxdate // 到期时间
  user.cardno = data.rt_cardno // 卡号
  user.type = data.rt_cdmtype // 卡类型
  user.userPhone = data.v_mobile // 手机号
  user.avatarUrl = data.v_wxtx // 微信头像
  user.nickName = data.v_wxnc // 微信昵称
  user.openid = data.v_openid // 微信用户openID
  return user
}
/**
 * 组合签到请求参数
 * @param {Object} data 后台返回登陆用户信息
 * @return 处理后登陆用户信息
 */
export function toSignParam(userPhone) {
  return {
    mobile: userPhone, // 签到手机
    zslx: 1, // 赠送积分类型，1：签到赠送积分，2，其他方式赠送积分
    memo: '签到' // 赠送积分说明
  }
}
/**
 * 转换积分商品类
 * @param {Object} data 后台返回积分商品
 * @return 处理后积分商品对象
 */
export function toGoods(data = {}) {
  const goods = {}
  if (data.imagePath) {
    goods.imgs = data.imagePath
  } else {
    goods.imgs = '' // 商品默认图标
  }
  goods.name = data.name // 商品名称
  goods.code = data.code // 商品编号
  goods.points = Number(data.integral) // 兑换商品所需积分
  goods.left = data.left ? data.left : 0 // 赠品剩余库存
  if (data.money) { // 兑换商品所需金额
    goods.money = Number(data.money)
  } else {
    goods.money = 0
  }
  goods.type = data.itype // 兑换类型(0积分兑换，1积分+钱兑换)
  return goods
}

/**
 * 转换积分兑换商品参数
 * @param {Object} data 后台返回积分商品
 * @return 处理后积分商品对象
 */
export function toRedeemGoodsParams(choose, userInfo, mkt) {
  return {
    code: choose.goods.code, // 兑换商品的编码iccode
    money: choose.money, // 兑换金额
    integral: choose.points, // 兑换积分
    amount: choose.num, // 兑换数量
    mobile: userInfo.userPhone, // 手机号
    cardno: userInfo.cardno, // 卡号
    mkt: mkt.code // 门店号
  }
}
/**
 * 统一下单
 * @param {*} money 标价金额(单位为元)
 * @param {*} info 商品信息
 * @param {*} out_trade_no 订单号
 */
export function toUnifiedOrderParams(money, info, out_trade_no, openid) {
  return {
    openid: openid,
    out_trade_no: out_trade_no, // 商户订单号
    device_info: 'WEB01', // 设备号
    body: !info.name ? '' : info.name + (!info.num ? '' : '*' + info.num), // 商品描述
    total_fee: money // 标价金额(单位为元)
  }
}
/**
 * 转换积分记录对象
 * @param {*} data 积分记录
 * @return 转换后积分对象
 */
export function toPointLog(data = {}) {
  const pointLog = {}
  pointLog.cardno = data.cardNo // 卡号
  pointLog.points = data.points // 积分
  pointLog.mktName = data.mktName // 门店中文名称
  pointLog.time = data.time // 最后消费时间
  return pointLog
}
/**
 * 转换积分兑换商品记录对象
 * @param {*} data 积分兑换商品记录
 * @return 转换后积分兑换商品记录
 */
export function toRedeemGoodsLog(data = {}) {
  const log = {}
  log.name = data.name // 商品名称
  log.points = data.totalIntegral // 兑换总积分
  log.money = data.totalMoney // 兑换总金额
  log.amount = data.amount // 兑换数量
  log.time = data.dateTime // 兑换日期
  switch (data.status) {
    case 'Y':
      log.status = '已领取'
      break
    case 'N':
      log.status = '未领取'
      break
    case 'G':
      log.status = '已过期'
      break
    case 'Q':
      log.status = '已取消'
      break
    case 'T':
      log.status = '已退货'
      break
    default:
      log.status = ''
      break
  }
  return log
}
/**
 * 转换我的储值卡对象
 * @param {*} data 我的储值卡
 * @return 转换后我的储值卡对象
 */
export function toMyValueCard(data = {}) {
  const myValueCard = {}
  myValueCard.id = data.uciid // id
  myValueCard.cardno = data.uciprepaidcardno // 卡号
  myValueCard.money = data.uciye // 礼品卡当前余额
  myValueCard.userno = data.uciucnoGkr // 购买储值卡的会员卡号
  myValueCard.validity = '永久有效'
  return myValueCard
}
/**
 * 转换储值卡对象
 * @param {*} data 储值卡
 * @return 转换后储值卡对象
 */
export function toValueCard(data = {}) {
  const valueCard = {}
  valueCard.id = data.id // id
  valueCard.name = data.themeName // 礼品卡主题名称
  valueCard.image = data.themeImage ? data.themeImage : '../../images/stored_card/stored_card_red.png' // 礼品卡主题图片
  valueCard.start = data.startTime // 礼品卡有效期-开始
  valueCard.end = data.endTime // 礼品卡有效期-结束
  valueCard.foruse = data.ins // 礼品卡使用须知ins
  valueCard.value = data.value // 储值卡面值
  return valueCard
}
/**
 * 转换购卡参数
 * @param {*} data 购储值卡参数
 * @return 转换后购卡参数
 */
export function toBuyValueCardParams(userInfo, mkt, out_trade_no, data = {}, num) {
  const params = {}
  params.v_vipcardno = userInfo.cardno // 购买储值卡的会员卡号
  params.v_payno = out_trade_no // 支付成功后的支付单号
  params.v_cmid = data.id // 面值卡主表ID
  params.v_cardsl = num // 购买数量
  params.v_mkt = mkt.code // 购买的门店号
  return params
}
/**
 * 转换卡充值参数
 * @param {*} data 卡充值参数
 * @return 转换后卡充值参数
 */
export function toRechargeValueCardParams(userInfo, out_trade_no, data = {}, payMoney) {
  const params = {}
  params.v_vipcardno = userInfo.cardno // 购买储值卡的会员卡号
  params.v_mzkcardno = data.cardno // 充值卡号
  params.v_payno = out_trade_no // 支付成功后的支付单号
  params.v_czje = payMoney // 充值金额
  return params
}
